home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_bas / mices / inkey.bas < prev    next >
BASIC Source File  |  1988-04-16  |  2KB  |  79 lines

  1.   DEFINT A-Z: KEY OFF: COLOR 7,0: CLS
  2.  
  3.   GOSUB Initialize
  4.   GOSUB Write.Screen
  5.   GOSUB Get.Inputs
  6.   END
  7.  
  8. Initialize:
  9.   '============
  10.   FG=7
  11.   AC=1
  12.   EC=27
  13.   FMT=0
  14.   HL=15
  15.   UP.CURSOR=72
  16.   ID!=123.4567
  17.   LAST.NAME$="SCHWARZ"
  18.   FIRST.NAME$="Raymond"
  19.   TEL$="(713) 721-6104"
  20.   RETURN
  21.  
  22. Write.Screen:
  23.   '============
  24.  
  25.   LOCATE 8,10
  26.   PRINT "ID NUMBER...                   (Only numeric entry allowed)"
  27.   LOCATE 10,10
  28.   PRINT "LAST NAME...                   (Uppercase forced)"
  29.   LOCATE 12,10
  30.   PRINT "FIRST NAME..                   (Upper or lower allowed. Try up cursor)"
  31.   LOCATE 14,10
  32.   PRINT "Telephone...                   (Default value given. Format forced.)"
  33.   LOCATE 16,10
  34.   PRINT "Code ......."
  35.   LOCATE 17,10
  36.   PRINT "(First 2 letters forced to caps, next 2 numbers, next 2 any.)"
  37.  
  38.   RETURN
  39.  
  40. Get.Inputs:
  41.   '==========
  42.  
  43. In.Num:
  44.   ROW=8: COL=22: AC=0: CHAR.CODE=2: FL=8 '2: Numeric only
  45.   PROMPT$=MID$(STR$(ID!),2): CONTROL$=""
  46.   CALL INKEY(ROW,COL,AC,CHAR.CODE,FL,PROMPT$,CONTROL$,IN$,MOVE.IT,KY)
  47.     IF KY = EC THEN RETURN ELSE ID!=VAL(IN$)
  48.  
  49. In.Cap:
  50.   ROW=10: COL=22: AC=0: CHAR.CODE=13: FL=15 '13: Uppercase & blanks only
  51.   PROMPT$=LAST.NAME$: CONTROL$=""
  52.   CALL INKEY(ROW,COL,AC,CHAR.CODE,FL,PROMPT$,CONTROL$,IN$,MOVE.IT,KY)
  53.     IF KY = EC THEN RETURN ELSE LAST.NAME$=IN$
  54.   IF KY=UP.CURSOR GOTO In.Num
  55.  
  56. In.Any:
  57.   ROW=12: COL=22: AC=-1: CHAR.CODE=23: FL=15 '23:: Any (Auto Cap on)
  58.   PROMPT$=FIRST.NAME$: CONTROL$=""
  59.   CALL INKEY(ROW,COL,AC,CHAR.CODE,FL,PROMPT$,CONTROL$,IN$,MOVE.IT,KY)
  60.     IF KY = EC THEN RETURN ELSE FIRST.NAME$=IN$
  61.   IF KY=UP.CURSOR GOTO In.Cap
  62.  
  63. In.Control:
  64.   ROW=14: COL=22: AC=0: CHAR.CODE=0: FL=14
  65.   PROMPT$=TEL$: CONTROL$="(###) ###-####" 'Controlled Format
  66.   CALL INKEY(ROW,COL,AC,CHAR.CODE,FL,PROMPT$,CONTROL$,IN$,MOVE.IT,KY)
  67.     IF KY = EC THEN RETURN ELSE TEL$=IN$
  68.   IF KY=UP.CURSOR GOTO In.Any
  69.  
  70. In.Code:
  71.   ROW=16: COL=22: AC=0: CHAR.CODE=0: FL=8
  72.   CONTROL$="UU-##-__"
  73.     IF IN.CODE$="" THEN PROMPT$=CONTROL$ ELSE PROMPT$=IN.CODE$
  74.   CALL INKEY(ROW,COL,AC,CHAR.CODE,FL,PROMPT$,CONTROL$,IN$,MOVE.IT,KY)
  75.     IF KY = EC THEN RETURN ELSE IN.CODE$=IN$
  76.   IF KY=UP.CURSOR GOTO In.Control
  77.  
  78.   RETURN
  79.